package darknet.core.spec.net;

import java.io.Serializable;
import java.net.InetAddress;

/**
 * A node is a distant system used by a friend.
 * 
 * @author yoyo
 */
public interface Node extends Serializable {
    
    /**
     * Get the name of the node.
     * @return
     */
    String getName();
    
    /**
     * Get the address of a node.
     * @return
     */
    InetAddress getAddress();
    
    /**
     * Get the port of a node.
     * @return
     */
    int getPort();

    /**
     * Get the state of the node.
     * @return
     */
    NodeState getState();
}
